/*
 * funciones.h
 *
 *  Created on: Oct 3, 2013
 *      Author: enano
 */

#ifndef FUNCIONES_H_
#define FUNCIONES_H_

#include "Cola.h"
#include "Lista.h"
#include "TDA_TAV.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>


#define OK 0
#define EQUAL 0
#define SIGUIENTE 1
#define INICIO 0
#define MINIMO 1
#define MAX_VERSION 1
#define ARCH_UNO 0
#define ARCH_DOS 1
#define NOT !

/* Posibles argumentos que recibe el programa.*/
#define ADD "-add"
#define REMOVE "-remove"
#define QUERY "-query"
#define COMMIT "-commit"
#define ROLLBACK "-rollback"

/* Posibles errores a evaluar para la stderr. */
#define ERROR -1
#define INVALID_ARG -2
#define ERR_ABRIR_ARCHIVO -3
#define ERR_MALLOC -4


typedef enum Targumentos { add, rm, query, commit, rollb, output, input, invalid = INVALID_ARG } argum;

typedef struct Tparametros
{
    int archivoEntrada;
    int archivoSalida;
    argum funcion;
}param;

typedef int tDupla[2];

int parsearArgumentos (const char* argumento);

int gettime (char* strFechaHora, size_t* longStr);

#endif /* FUNCIONES_H_ */
